

/**
 * @function clear
   @description 清除所有存储 sessionStorage | localStorage
 *
 * @function set
   @description 设置存储 sessionStorage | localStorage
   @param {Object | Array | String | Number} value value
   @param {String} key
   @return {Object | Array | String | Number}
 *
 *  @function get
 *  @description 获取存储 sessionStorage | localStorage
 *  @param {String} key
 *
 * @function remove
   @description 清除存储 sessionStorage | localStorage
   @param {String} key
*/

// 分别封装了对sessionStorage和localStorage的四种操作：设置、获取、移除和清除存储的数据。

const session = {
	set: (key, value) => {
		// 设置一个键值对到sessionStorage
		if (!key || !value) { return null }
		sessionStorage.setItem(key, JSON.stringify(value))  // 使用JSON.stringify()将值转换为字符串  使用sessionStorage.setItem()存储
	},
	get: (key) => {
		// 从sessionStorage获取一个键对应的值
		if (!key) { return null }
		var obj = JSON.parse(sessionStorage.getItem(key))  // 使用sessionStorage.getItem()获取字符串，然后使用JSON.parse()将其转换回原始数据类型
		return obj
	},
	remove: (key) => {
		// 从sessionStorage移除一个键值对
		sessionStorage.removeItem(key)

	},
	clear: () => {
		sessionStorage.clear()
	}
}

const local = {
	set: (key, value) => {
		if (!key || !value) { return null }
		localStorage.setItem(key, JSON.stringify(value))
	},
	get: (key) => {
		if (!key) { return null }
		var obj = JSON.parse(localStorage.getItem(key))
		return obj
	},
	remove: (key) => {
		localStorage.removeItem(key)

	},
	clear: () => {
		localStorage.clear()
	}
}




export {
	session,
	local
}